﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FrameWork.Plugin;
using FrameWork.Setting;
using FrameWork.Log;
using System.Reflection;
using System.Runtime.InteropServices;
using System.ComponentModel;
using FrameWork.Output;
using System.Windows.Forms;
using ScreenMonitor.ClientLib.Plugin;
using ScreenMonitor;

namespace ProcessManagerPlugin.Client
{
    [SettingParentDefine]
    public partial class ProcessManagerPlugin : IClientPlugin
    {

        public string GetPluginName()
        {
            return "进程管理客户端插件";
        }

        public Guid GetPluginGuid()
        {
            return new Guid("5A209AAA-F14C-4973-A9B1-DD13D3F6F05F");
        }

        public string GetPluginDescription()
        {
            return "进程管理客户端插件";
        }

        public List<FrameWork.Setting.SettingEditorItem> GetSettingEditors()
        {
            List<SettingEditorItem> EditorList = new List<SettingEditorItem>();
            EditorList.Add(new SettingPropertyEditorItem(@"进程管理\常规", this, this.GetType()));
            return EditorList;
        }

        public bool Enable()
        {
            return true;
        }

        public bool Disable()
        {
            return true;
        }

        public bool Init()
        {
            return true;
        }

        public List<string> GetCommands()
        {
            List<string> lst = new List<string>();
            lst.Add(Common.CommandType.GetProcessList);
            return lst;
        }

        public void RunCommand(string Command, byte[] Data)
        {
            switch(Command)
            {
                case Common.CommandType.GetProcessList:
                    OperateGetList();
                    break;
            }
        }
    }
}
